This is my reference library managing stack. I have spent many hours writing, fixing, adding to,
optimizing, and using this stack. I hope you find it as useful as I do.
Acknowledgements
----------------
It is important to acknowledge the authorship of several XCMD/XFCN's. Fullsort, Promptoid,
ListSelect, FullHPopup, Fullfind, StripDup, ResText and FullReplace are from the excellent set by
Fredric Rinaldi. Buildmenu and BreakLine are my own, complied with the Demo version of
CompileIt, the Hypertalk Compiler from Heizer Software. This demo version limits scripts for
compilation to 10 lines, but it is possible to accomplish a lot in 10 lines. Based on the demo, I
highly recommend the real thing (hopefully this acknowledgement and plug will satisfy Heizer
for my distribution of these externals). If only I could afford it...
Shareware Plea
--------------
I am a poor, chronic-type student (14 years of college has not be cheap). Please send money.
Send $10 (or whatever you think it is worth and can afford) to help pay my tuition and
encourage further development (ie CompileIt). My address is at the bottom of this field. Become
a registered user and I will notify you (preferrably by Email) of future enhancements or fixes.
I am also willing (for registered users) to create custom import/export definitions. Just send
me a copy of what you want to import or export. Support shareware!
Overview
--------
What does it do? MLM is useful for reviewing and managing bibliographic references. I use
multiple copies (eg. MLM-Blank, MLM-Copied, MLM-Widgets) of this stack to (1) review
references and abstracts downloaded via telnet (a separate stack for each downloaded set), and
(2) to manage my file cabinet of photocopied articles and assist in putting together bibliography
lists for papers.
To review articles downloaded from Medline (a database of medical literature AKA paperchase),
the stack has scripts (1) for importing references in NLF (National Library Format), (2) for
sorting references by author, source, or user defined categories, (3) for marking references
manually or by several automatic methods, and (4) for printing and exporting marked
references. Usually, I import the references, sort by source, then menumark unimportant
journals, delete that set of marked references, resort by author, review the references marking
ones that I'm interested in photocopying, resort by source (because the library is arranged by
journal name), and then print the marked references. More details for each of these steps is
provided below.
To manage my file cabinet of photocopied articles, I keep the photocopies articles organized by
the first author name and then maintain a parallel listing in a stack. In this way, I can locate
any article in my file cabinet by searching the stack for any part of the title, any of the authors,
source, category, or keyword. The stack has several features for manually or automatically
adding references. Additionally, the stack has two methods for creating or adding to a
bibliography list for a paper. The first (simple) option is to select a group of references and
export them to a text file to serve as a starting point for your reference list. The second option
is for the stack to read an RTF formatted copy of the paper, locate the authors and reference
sites, and offer references from the stack for inclusion in the bibliography. More details are
provided below.
Cards
-----
The menu card is mostly a convenient way of indicating the first card in the stack. It has only
two special features over the rest of the cards, which are two fields which look nice, but provide
less functionality than other options which are described below. The first field is the sort menu,
which can be accessed by using the SORT MENU button. The second field is the scan menu, which
can be accessed by using the SCAN MENU button. The fields are filled and/or updated whenever
the stack is sorted or scanned.
The reference cards makes up the bulk of the stack (at least after some have been created). Each
reference card has 7 fields and 10 buttons, and 4 popup menus.
There are 7 fields on each card: The TITLE, JOURNAL, and ABSTRACT FIELD are fairly self
explanatory. AUTHOR FIELD: The author field is the list of authors, which should be a comma
separated list (which implies that the author names cannot have commas within them). CITATION
FIELD: Is for the citation information, the only assumption for the data in this field is that the
first 4 characters are the year. The recommended format for is year;volume:pagenums, as in "1991;12(3):328-335". While this format is not required, for the year sorting (see description of the sort/scan popup menu below) to perform properly, the first four characters of the citation must be the year. For assisted input, there is a popup menu in the journal field (see below) which offers, if the fields are locked (see below), journal names (if the popup menu data has been collected - see below) and prompts for year, volume, and pages. USER FIELD is for a category. New categories can be created by typing them into the field. Once categories have been created (and collected - see below) and if the fields are locked, the userfield can be assigned by a popup menu. KEYWORD FIELD is for a list of keywords, which can either be those downloaded from Medline major headings, or specified by the user. If the fields are locked, a popup menu can be used for entry.
There are 9 buttons along the bottom: RETURN returns the stack to the menu card. NEXT, PREV,
NEXT MARKED, PREV MARKED, and FEILD LOCK are self explanatory. SORT MENU and SCAN MENU
bring up a dialog menu of a sort or scan list of cards as created by the most recent sort and
scan operations. Pressing the first letter of a desired entry jumps to that part of the menu.
GRAB BUTTON: Places the authors, title, and source on the clipboard for pasting elsewhere, eg
into the bibliography of a paper.
There is one additional button in the upper right corner of the card (except on the menu card).
Clicking this button is indicated by flipping the corner, ie. "dogear-ing the corner". Multiple
cards can be marked and the set of marked cards becomes an important subset of cards which can
be manipulated (ie printed or exported) independently of the unmarked cards. A field in the lower
left displays the total number of cards and the number of marked cards. Several stack features
are designed for selecting, viewing, printing, deleting, and remembering sets of marked cards,
and are described below.
There are 4 popup menus (in addition to the 3 fields popup menus available when the text of the
fields are locked):
IMPORT/EXPORT MENU: Offers several options for printing, importing, exporting, and making
bibliographies. PRINT will print the references, with or without abstracts and keywords.
IMPORT will read data from a text file. The standard format is NLF (National Library Format)
text file, but other formats can be defined using a custom format defined using import format
option. When the import format is selected, 3 fields and a popup menu are displayed. The popup
menu provides all of the elements for creating a new format, as well as options for storing,
recalling, and deleting new formats. Special options are described in the format information field
at the bottom. The middle field is for sample input text for testing the import format definition.
It can be loaded from the file using a popup menu option. Two formats have been defined as
For either NLF or custom formatted files, a new card is created for each reference in the file. A
named set of marked cards (see below for definition) is automatically created for each import
operation with the date and time as the set name. EXPORT will export to a text file in either
custom or NLF format. Like the import format definition, the export format is defined with 2
fields and a popup menu. The specification must be a valid hypercard expression combining the
field names with chunk expression (eg. char 1 to 4 of line 1 of field "citation", which should be
the year - if you follow the recommended, by no means required, citation field format).
Additionally, there are several useful variables which are described in the export format
information field. There are 2 predefined formats to use as examples, and match the default and
DBF formats described for the custom import format definition (described above). BIBLIFY is my
pride and joy and can be only fully appreciated by trying the sample files which can be created by
the menu option 'create sample files'. The files are: sample.nlf (a file with 2 references for
importing) and sample.rtf (a sample reference paper in RTF format with 4 references, 2 already
in the document, 1 of which relates to the document as a whole and is not directly referred to in
the text). First use the import button to import the two references from sample.nlf. Then sort
the stack by first author. Then use the biblify button. For each reference in the text, the author,
the context for the reference, and a range of authors and titles from the stack are displayed.
Select one reference from the list by double clicking or multiple references by holding the
command key. A new RTF file will be written called 'sample.rtf.bib'. Open sample.rtf and
sample.rtf.bib with your word processor to see the results. Biblify will read a RTF formated
text file, locate author references in the text, offer references from the stack by that author,
and then generate a numbered alphabetized reference list and insert the appropriate numbers into
the text. The paper must be saved in an RTF text file (Rich Text Format - which should be an
output option from most word processors). The script first looks for the location of the current
bibliography list, as indicated by a line with the single word "REFERENCES", followed by either
(1) 2 same formatted blank lines, or (2) a sequentially numbered bibliography formatted
'num<tab>ref' with a same formatted blank line following. References in the text should be in
square brackets '[]' and include a comma separated list of authors or numbers (refering to
references in the current bibliography list).
UTILITIES MENU: Offers several diferent stack utility options. CLIPREF: This option is the same
as the grab button and puts the current card's title and citation in the clipboard for pasting
elsewhere. DELETE offers 5 options for removing cards from the stack. The duplicate option will
remove duplicates provided they are adjacent to each other in the stack (as accomplished by
sorting). POPUP COLLECT will build the journal, keyword, and user field popup menus by
collecting all existing items in the selected field. POPUP EDIT allows deletion of items from the
menu. Note that the fields must be locked to use the field popup menu. FIND & REPLACE will
locate all occurances of a target string, and replace each occurange with a replacement string.
CLEANUP offers a few options for cleaning up fields.
SORT/SCAN MENU: SORT rearranges the cards and creates a list of cards by first author,
source, year, or keyword. SCAN builds a list of authors or keywords, without reordering the
cards. Both the sort and scan lists are displayed on the menu card and in the sort menu and scan
menu buttons. EXPORT SORT writes a text file with a list of articles by title for each item in the sort menu. This may be useful when you have multiple articles by each of multiple authors and need a list of artilces for each author. EXPORT SCAN writes a text file with a list of articles my title or first-author and title for each item in the scan list. This is useful when you need a list of of the artilces an with that co-author or keyword.
MARKING MENU: MARK and UNMARK are obvious. MENUMARK displays either the sort or scan
menu and allows single, continuous (by holding the shift key), or discontinuous (by holding the
command key) selections of items from a dialog box for card marking. FINDMARK and
FINDUNMARK will mark or unmark cards based on a keyword search in any or all the fields on
each card. STORE SETS saves the current list of marked cards as a card set with a user
specified name. RESTORE SETS will mark or unmark cards depending on the option selected, and
provides a useful methods for combining lists. DELETE SETS allows for destroying previously
stored lists.
Bugs/Compliments/Suggestions
----------------------------
If you find any bugs or run into things that don't seem to work the way they should, or think of
features you would like added, please let me know by Email (waanders@umich.edu) or by US mail
(1245 Island Drive #203, Ann Arbor, MI 48105). I will do what I can to fix/add things.